package site.jlopen.service.intf.data;

import java.util.List;

import site.jlopen.domain.data.event.KusciaDataEvent;
import site.jlopen.entity.BaseResponse;
import site.jlopen.entity.data.DataInfoReq;
import site.jlopen.secret.model.data.SecretDataAllInfoResp;

public interface DataService {
	
	BaseResponse<String> createData(Long userId, DataInfoReq req);
	
	List<KusciaDataEvent> getDatas(Long userId);
	
	KusciaDataEvent getData(Long dataId);
	
	BaseResponse<SecretDataAllInfoResp> getDataByDomainDataId(Long userId, String nodeCode, String domainDataId);
	
	/**
	* <strong>刷新数据状态</strong>
	* @Title: restatus
	* @Description: <p>返回结果中的data参数属于数据对象ID</p>
	* @param dataId
	* @return <p>TODO</p>
	* BaseResponse<String>
	* @author ChenJiaLu
	* @date 2025年3月6日 15:24:48
	 */
	BaseResponse<String> restatus(Long dataId);
	
	List<KusciaDataEvent> getNotAuthDatas(Long nodeId, Long projectId);
	
	BaseResponse<String> remove(Long dataId);
	
	BaseResponse<String> refreshDataGrant(Long flowId, Long nodeId, Long dataId, Long targetNodeId);
	
	String getDataGrant(Long flowId, Long nodeId, Long dataId, Long targetNodeId);
}
